package com.auxgroup.hr.front.service.performance;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.auxgroup.hr.front.commons.vo.UserDTO;
import com.auxgroup.hr.front.dao.domain.PsCEpAppHdr;
import com.auxgroup.hr.front.dao.domain.PsCEpAppRstVw;
import com.auxgroup.hr.front.dao.domain.PsCEpIntrvwTbl;
import com.auxgroup.hr.front.dao.domain.PsCEpMdlgradeV;
import com.auxgroup.hr.front.dao.domain.PsCEpTrvRole;
import com.auxgroup.hr.front.dao.domain.PsCWfApelHdr;

/** 
 * @author lvliuhao 
 * @version 创建时间：2018年9月10日 下午2:15:32 
 * 类说明 
 */
public interface PerformanceResultService {

	
	/**
	 * 查询结果列表
	 * @param oprid
	 * @param year
	 * @return
	 */
	public List<PsCEpAppRstVw> getResultList(String oprid,String year);
	
	/**
	 * 查询单个结果
	 * @param oprid
	 * @param year
	 * @return
	 */
	public PsCEpAppRstVw getAppRst(String oprid,String year,String docid,String version);
	
	
	/**
	 * 查询绩效面谈信息
	 * @param docid
	 * @param version
	 * @return
	 */
	public PsCEpIntrvwTbl getIntrvwTbl(String docid,BigDecimal version);
	
	
	/**
	 * 查询绩效面谈审批列表
	 * @param docid
	 * @param version
	 * @return
	 */
	public List<List<PsCEpTrvRole>> getIntrvwProcessMap(String docid,BigDecimal version);
	
	
	/**
	 * 查询绩效面谈审批列表
	 * @param docid
	 * @param version
	 * @return
	 */
	public PsCEpTrvRole getEpTrvRoles(String docid,BigDecimal version,String emplid);
	
	
	/**
	 * 获取头表
	 * @param docid
	 * @param version
	 * @return
	 */
	public PsCEpAppHdr getAppHdr(String docid,BigDecimal version);
	
	/**
	 * 保存头表
	 * @param docid
	 * @param version
	 * @return
	 */
	public PsCEpAppHdr saveAppHdr(PsCEpAppHdr appHdr);
	
	/**
	 * 获取系数
	 * @param model
	 * @param grade
	 * @return
	 */
	public PsCEpMdlgradeV getMdlGrade(String model,String grade);
	
	
	/**
	 * 保存申诉内容
	 * @param apelHdr
	 * @return
	 */
	public PsCWfApelHdr saveApelHdr(PsCWfApelHdr apelHdr,PsCEpAppRstVw appRst,UserDTO user);
	
	
	/**
	 * 保存面谈内容
	 * @param apelHdr
	 * @return
	 */
	public PsCEpIntrvwTbl saveIntrvwTbl(PsCEpIntrvwTbl intrvwTbl,UserDTO user,String type);
	
	
	/**
	 * 审批绩效面谈信息
	 * @param intrvwTbl
	 * @param action
	 */
	public Map<String, String> commitIntrvwService(PsCEpIntrvwTbl intrvwTbl,BigDecimal seqnbr,String emplid,String action);
	
	/**
	 * 保存申诉内容
	 * @param apelHdr
	 * @return
	 */
	public PsCWfApelHdr saveApelHdr(PsCWfApelHdr apelHdr);
	
	/**
	 * 获取申诉头表
	 * @param docid
	 * @param version
	 * @return
	 */
	public PsCWfApelHdr getApelHdr(String docid,BigDecimal version);
	
	/**
	 * 获取申诉头表
	 * @param docid
	 * @param version
	 * @return
	 */
	public PsCWfApelHdr getApelHdr(String transnum);
	
	/**
	 * 获取模板名称
	 * @param templeId
	 * @return
	 */
	public String getTempName(String templeId);
	
	
	/**
	 * 获取分组名称
	 * @param groupId
	 * @return
	 */
	public String getGroupName(String groupId);
	
	/**
	 * 保存申诉内容
	 * @param apelHdr
	 * @return
	 */
	public void delApelHdr(String cTransactionNbr);
	
	
}
 